iT邦幫忙

2026 iThome 鐵人賽

DAY 19
0
AI Engineering

Physical AI 驗證工程:30 天把機器人模擬變成可檢查的證據系列 第 19

Day 19|機器人手術模擬:間距明明通過,兩支手臂為什麼仍會互相擋住?

  • 分享至 

  • xImage
  •  

S12 雙臂 needle handoff:算對數字,不代表量到真正的風險

先講結論:本篇未通過。 30 個 seed 中有 26 個成功、4 個失敗,成功率為 0.867,低於事前鎖定的 0.900 門檻。

更值得注意的是,事前的器械軸間距檢查全部通過,真正執行時仍發生與 Day 17 類似的雙臂干涉。

從 Day 17 留下的問題開始

Day 17 的雙臂圓環移交只有 24/30 成功。成功案例的放手偏心與會合精度都很好,失敗原因卻不是精度不足,而是兩支手臂在共用空間內互相擋住。

當時有一個明確缺口:我沒有在執行前驗算兩臂路徑之間的間隙。

這次改成移交一根直桿替代物,並加入兩層檢查:

  1. 事前用線段到線段的閉式距離,計算兩支器械軸的最小間距。
  2. 執行中用停留段的尖端追蹤誤差,判斷手臂是否被實體擋住。

核心問題是:

如果器械軸之間保有足夠間距,能否代表整支機械臂在交接過程中不會互相干涉?

正式結果給出的答案是:不能。

本篇的「針」仍然不是手術針

任務是讓 A 臂從置放區取得一根直桿,移交給 B 臂,再由 B 臂把直桿轉到指定朝向。

但場景中的「針」是一根長 24 mm、半徑 0.6 mm 的直圓柱替代物:

  • 沒有彎曲與針尖幾何。
  • 沒有組織、穿刺與縫線。
  • 抓取是距離觸發的約束附著。
  • 沒有夾持力、摩擦與滑轉。
  • 直桿全程為 kinematic,姿態由法蘭姿態決定。

所以本篇量的是雙臂交接的幾何與控制行為,不是持針或縫合能力。

四個事前門檻

指標 鎖定門檻 要回答的問題
交接成功率 ≥ 0.90 四項交接判準是否同時成立?
最終朝向誤差 ≤ 5.0° 交接後能否轉到指定方向?
停留段尖端追蹤誤差 ≤ 2.0 mm 手臂是否被實體擋住?
直桿掉落事件 0 是否掉出工作區?

其中 2.0 mm 不是任意挑選。先前健康狀態下的穩態偏移約為 0.25–0.60 mm,Day 17 被擋住的手臂則靜態偏離 31.76 mm。2.0 mm 位在兩者之間,足以把正常重力偏移與實體阻擋分開。

這是一種實用的門檻設計方式:先取得健康值與故障值,再把界線放在兩群資料之間,而不是反覆微調到結果剛好通過。

事前間距檢查算得很準,卻沒有涵蓋真正會撞的部位

事前計算顯示,兩支器械軸的最小間距約為 18.00 mm,而宣告的相觸門檻為 8 mm。30 個 seed 全部都有約 10 mm 餘裕。

正式執行後的實測值如下:

執行結果 兩支器械軸的最小間距
26 個成功 seed 17.51–17.83 mm
4 個失敗 seed 17.91–17.96 mm

失敗組的器械軸間距甚至比成功組更大。

檢查本身沒有算錯。問題是它只計算兩條細長的器械軸,沒有涵蓋較粗的手腕、連桿與機身。真正發生干涉的部位不在被量測的幾何範圍內。

這種錯誤比完全沒有檢查更容易讓人誤判,因為它會產出一個精確、而且顯示「通過」的數字。

執行中的失效守衛確實抓到了問題

停留段尖端追蹤誤差呈現兩個明顯群組:

執行結果 停留段尖端追蹤誤差
26 個成功 seed 0.571–0.904 mm
4 個失敗 seed 7.91–70.00 mm

2.0 mm 門檻位在兩群資料中間,沒有模糊區域。

四個失敗案例中,有兩個是 A 臂被擋住,另外兩個是 B 臂被擋住。被擋住的一側會出現 7.82–69.82 mm 的 port 漂移;逆運動學失敗次數仍是 0。

這表示求解器能解出目標、命令也能送出,但實體機構到不了。它比較符合幾何干涉,而不是逆運動學失敗。

這不是時間步造成的數值假象

同一組 30 個 seed 分別以原時間步、二分之一時間步與四分之一時間步執行,三組成功率都是 0.867,成功與失敗旗標完全相同。

三次重播的判定也一致。也就是說,無論把時間步切得多細,仍是相同四個 seed 失敗。

因此,本篇的失敗可以指向佈局與幾何涵蓋範圍,而不是數值積分偶然造成的結果。

第一輪執行也曾因契約問題作廢

第一次正式執行的實質成功率同樣是 0.867,但驗證器因兩個契約宣告問題將它作廢:

  1. 程式產出一個未在契約中登記單位的指標。
  2. 連續角度量被放在零容差判定層,量化刻度又細到可能在進位邊界翻轉。

修正宣告後,改用未看過的互斥 seed 重新執行,成功率仍為 0.867。兩輪結果完整保留,避免「換一組 seed 跑到通過為止」的疑慮。

成功的 26 組其實很準,但不能挽救整體失敗

成功 seed 的數字如下:

  • 最終朝向誤差為 0.1–0.2°,門檻 5.0°。
  • 最終位置誤差為 0.043–0.706 mm。
  • 交接會合誤差為 0.240–0.833 mm。
  • 兩臂 port 漂移為 0.084–0.433 mm。
  • 停留段尖端追蹤誤差為 0.571–0.904 mm。

如果只展示這 26 組,會得到「精度很好」的結論。但正式任務成功率仍只有 0.867,因此本篇必須判定未通過。

這篇證明了什麼,沒有證明什麼?

本篇證明的是:器械軸最小間距不能代表整支機械臂的無碰撞間隙;停留段尖端追蹤誤差可以在本組態中辨識手臂是否被實體擋住。

本篇沒有證明:

  • 沒有建立兩臂機身的完整碰撞代理。
  • 2.0 mm 守衛是失效偵測,不是避碰演算法。
  • 沒有驗證真實夾持、滑轉或彎針移交。
  • 一次交接結果不能外推到反覆換手與失敗後重試。
  • 結果不構成無碰撞保證、臨床證據或醫療器材安全證明。

今天帶走三件事

  1. 檢查公式正確,仍可能因幾何涵蓋範圍錯誤而失去意義。
  2. 失效偵測的門檻可以由健康值與故障值之間的空白區建立。
  3. 雙臂任務的局部精度很好,不代表整體成功率會通過。

下一篇,我們讓幾何誤差第一次產生實體後果:一根有碰撞體的直桿,必須穿過只剩 3.0 mm 餘隙、而且碰到就會移動的剛性環。


上一篇
Day 18|機器人手術模擬:抓到「手術針」之後,怎麼確認方向也正確?
下一篇
Day 20|機器人手術模擬:看起來沒有碰撞,如何證明間隙不是算得太樂觀?
系列文
Physical AI 驗證工程:30 天把機器人模擬變成可檢查的證據25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言